--
-- Juniper Enterprise Specific MIB: Firewalls MIB
-- 
-- Copyright (c) 2000-2003, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--

JUNIPER-FIREWALL-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter64
        FROM SNMPv2-SMI
    DisplayString
        FROM SNMPv2-TC
    jnxMibs
        FROM JUNIPER-SMI;

jnxFirewalls MODULE-IDENTITY
    LAST-UPDATED "200307182153Z" -- Fri Jul 18 21:53:50 2003 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "        Juniper Technical Assistance Center
                     Juniper Networks, Inc.
                     1194 N. Mathilda Avenue
                     Sunnyvale, CA 94089
                     E-mail: support@juniper.net"

    DESCRIPTION
            "This is Juniper Networks' implementation of enterprise
             specific MIB for firewalls filters/policers."
    ::= { jnxMibs 5 }


    jnxFirewallsTable   OBJECT-TYPE
        SYNTAX      SEQUENCE OF JnxFirewallsEntry
        MAX-ACCESS  not-accessible
        STATUS      deprecated
        DESCRIPTION
                "A list of firewalls entries.
                NOTE:  This table is deprecated and exists for backward
                compatibility.  The user is encouraged to use
                jnxFirewallCounterTable.  This table does not handle: 
                1) counter and filter names greater than 24 characters 
                2) counters with same names but different types (the first 
                  duplicate is returned only)"


        ::= { jnxFirewalls 1 }

    jnxFirewallsEntry      OBJECT-TYPE
        SYNTAX      JnxFirewallsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry of firewalls table."
        INDEX   { jnxFWFilter,
                  jnxFWCounter }
        ::= { jnxFirewallsTable 1 }

    JnxFirewallsEntry ::=
        SEQUENCE {
            jnxFWFilter                 DisplayString,
            jnxFWCounter                DisplayString,
            jnxFWType                   INTEGER,
            jnxFWPackets                Counter64,
            jnxFWBytes                  Counter64
        }

    jnxFWFilter OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..24))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The name of the firewall filter."
        ::= { jnxFirewallsEntry 1 }

    jnxFWCounter OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..24))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The name of the counter or policer.  This name is 
                specific within the firewall filter.  Whether this 
                object is associated with a counter or a policer 
                is indicated by jnxFWType.
                See DESCRIPTION of jnxFirewallsTable for details
                on this assumption."
        ::= { jnxFirewallsEntry 2 }

    jnxFWType OBJECT-TYPE
        SYNTAX      INTEGER {
                other(1),
                counter(2),
                policer(3)
        }               
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The type of the object jnxFWCounter.  What it is 
                associated with - a counter or a policer."
        ::= { jnxFirewallsEntry 3 }

    jnxFWPackets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of packets being counted pertaining to
                the specified counter or policer."
        ::= { jnxFirewallsEntry 4 }

    jnxFWBytes OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of bytes being counted pertaining to
                the specified counter.  For policers, this field
                is always zero because policers do not count 
                number of bytes."
        ::= { jnxFirewallsEntry 5 }


    jnxFirewallCounterTable   OBJECT-TYPE
        SYNTAX      SEQUENCE OF JnxFirewallCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A list of firewall filter counters."


        ::= { jnxFirewalls 2 }

    jnxFirewallCounterEntry      OBJECT-TYPE
        SYNTAX      JnxFirewallCounterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry of firewalls table."
        INDEX   { jnxFWCounterFilterName,
                  jnxFWCounterName,
                  jnxFWCounterType }
        ::= { jnxFirewallCounterTable 1 }

    JnxFirewallCounterEntry ::=
        SEQUENCE {
            jnxFWCounterFilterName      DisplayString,
            jnxFWCounterName            DisplayString,
            jnxFWCounterType            INTEGER,
            jnxFWCounterPacketCount     Counter64,
            jnxFWCounterByteCount       Counter64,
            jnxFWCounterDisplayFilterName DisplayString,
            jnxFWCounterDisplayName     DisplayString,
            jnxFWCounterDisplayType     INTEGER
        }

    jnxFWCounterFilterName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The name of the firewall filter."
        ::= { jnxFirewallCounterEntry 1 }

    jnxFWCounterName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The name of the counter or policer.  Whether this 
                object is associated with a counter or a policer 
                is indicated by jnxFWCounterType."
        ::= { jnxFirewallCounterEntry 2 }

    jnxFWCounterType OBJECT-TYPE
        SYNTAX      INTEGER {
                other(1),
                counter(2),
                policer(3)
        }               
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The type of the object jnxFWCounterName identifies.  What it
                is associated with - a counter or a policer.  It is possible
                to have two counters of the same name and different type."
        ::= { jnxFirewallCounterEntry 3 }

    jnxFWCounterPacketCount OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of packets being counted pertaining to
                the specified counter or policer."
        ::= { jnxFirewallCounterEntry 4 }

    jnxFWCounterByteCount OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of bytes being counted pertaining to
                the specified counter.  For policers, this field
                is always zero because policers do not count 
                number of bytes."
        ::= { jnxFirewallCounterEntry 5 }

    jnxFWCounterDisplayFilterName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The name of the firewall filter."
        ::= { jnxFirewallCounterEntry 6 }

    jnxFWCounterDisplayName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..127))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The name of the counter or policer.  Whether this 
                object is associated with a counter or a policer 
                is indicated by jnxFWCounterType."
        ::= { jnxFirewallCounterEntry 7 }

    jnxFWCounterDisplayType OBJECT-TYPE
        SYNTAX      INTEGER {
                other(1),
                counter(2),
                policer(3)
        }               
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The type of the object jnxFWCounterName identifies.  What it
                is associated with - a counter or a policer.  It is possible
                to have two counters of the same name and different type."
        ::= { jnxFirewallCounterEntry 8 }

END